#include <iostream>
#include <cmath>
using namespace std;

//点类
class Point {
public:
    //设置和获取X
    void setX(int x) {
        m_X = x;
    }
    int getX() {
        return m_X;
    }

    //设置和获取Y
    void setY(int y) {
        m_Y = y;
    }
    int getY() {
        return m_Y;
    }

private:
    int m_X;
    int m_Y;
};

//圆类
class Circle {
public:
    //设置和获取半径
    void setR(int r) {
        m_R = r;
    }
    int getR() {
        return m_R;
    }

    //设置和获取圆心
    void setCenter(Point center) {
        m_Center = center;
    }
    Point getCenter() {
        return m_Center;
    }

private:
    int m_R; // 半径
    Point m_Center; // 圆心
};

//判断点和圆的关系
bool is_inCircle(Circle & c , Point & p) {
    int ret = pow(p.getX() - c.getCenter().getX() , 2)
            + pow(p.getY() - c.getCenter().getY() , 2);
    int r = pow(c.getR() , 2);
    if (ret == r) {
        cout << "点在圆上" << endl;
    }
    else if (ret > r) {
        cout << "点在圆外" << endl;
    }
    else {
        cout << "点在园内" << endl;
    }
}
int main() {
    //创建圆心点
    Point center;
    center.setX(10);
    center.setY(0);
    //创建圆
    Circle c;
    c.setR(10);
    c.setCenter(center);

    //创建一点
    Point p;
    p.setX(10);
    p.setY(10);

    //判断点和圆的关系
    is_inCircle(c , p);

    return 0;
}